#include <bits/stdc++.h>

#define in read()
#define fi first
#define se second
#define pb push_back
#define rep(i, x, y) for(int i = (x); i <= (y); i++)
#define per(i, x, y) for(int i = (x); i >= (y); i--)

using namespace std;

typedef long long ll;
typedef double db;
typedef vector < int > vec;
typedef pair < int , int > pii;

int read() {
    int x = 0; bool f = 0; char ch = getchar(); while(!isdigit(ch)) f |= ch == '-',ch = getchar();
    while(isdigit(ch)) x = x * 10 + (ch ^ 48),ch = getchar(); return f ? -x : x;
}

const int N = 1e5 + 10;

int A, B;
int h[N], n;

bool check(int x) {
	ll lim = 1ll * x * B;
	int cnt = x;
	rep(i, 1, n) {
		if(h[i] <= lim) continue;
		int lef = (h[i] - lim + A - B - 1) / (A - B);
		if(cnt < lef) return 0;
		cnt -= lef;
	} return 1;
}

int main() {
#ifndef ONLINE_JUDGE
    freopen("1.in","r",stdin);
#endif
    n = in; A = in, B = in; rep(i, 1, n) h[i] = in;
	int l = 0, r = 1e9, ans = 1e9;
	while(l <= r) {
		int mid = l + r >> 1;
		if(check(mid)) ans = mid, r = mid - 1;
		else l = mid + 1; 
	}
	cout << ans << endl;
}
